Patricia Merkle Trie
Ethereumで使用されているデータ構造
Bitcoinのように1つのMerkle Treeではなく、3つのツリーが含まれている
Transactions
Receipts
State
https://scrapbox.io/files/63a2ee56123b68001e3c75ba.png
これによって、高度なライトクライアントを構築することが可能
多くのリクエストに対して検証可能かどうかを判断できる
あるトランザクションが特定のブロックに含まれているか
トランザクションツリーで処理される
過去30日間にこのアドレスから発信されたイベントの全てのインスタンス
レシートツリーで処理される
自分のウォレットの現在の残高
ステートツリーで処理される
アカウントが存在するかどうか
ステートツリーで処理される
あるコントラクトでこのトランザクションを実行した際に出力がどうなるか
Merkle state transition proofと呼ばれるものを構築する必要がある
「ルートSの状態でトランザクションTを実行すると、結果はルートS'の状態で、ログLと出力Oになる」ことを証明できる
参考資料